/**
 *  1. JS 之一： 原始类型 number string boolean null underfined 【es6 symbol除外】
 * 
 * */
let isBool: boolean = false;
let userName: string = 'shanshan';
let myNumber: number = 1;

// undefined 类型的变量只能被赋值为 undefined，null 类型的变量只能被赋值为 null
let undifind: undefined = undefined;
let isNull: null = null;

// void ts中 表示 空的概念。 只能负值 undefined & null
let u: void = null;


/**
 *  2. 任意值Any:表示允许赋值为任意类型。
 *  如果是一个普通类型，在赋值过程中改变类型是不被允许的. 则可以通过 类型 any;
 * */
let myFevorit: any = 'mylike';
myFevorit = true;

// 注： 如果不负类型，则随便负值 会报错。
// let myNumber = 1;
// myNumber = 'shan';

// 注：如果定义的时候没有赋值，不管之后有没有赋值，都会被推断成 any 类型而完全不被类型检查
let userInfo;
userInfo = {
  name: 'jian'
};
userInfo = 888;







